<?php
	include ("../_conf/constantes.php");
	include ("../config.php");
	require_once (PEARPATH . "HTML/Template/IT.php");
	$tpl = new HTML_Template_IT(TPLPATH);
	$conn = ADONewConnection($dsnComisiones);
	$conn->SetFetchMode(ADODB_FETCH_ASSOC);
	$tpl->loadTemplatefile("resultadoLiquidacionComisiones.htm");
	$tpl->setVariable("TITULO_PAGINA", "Resultado de la Carga Masiva");
	$idDependencia = $_POST["iddependencia"];
	$idVigencia = $_POST["vigencia"];
	$nombreArchivoCsv = $_POST["nombreArchivoCsv"];
	$archivoExec = "./cargarDatos.php";
	
	if (is_array($_FILES)) {
		$nombreArchivo = $_FILES["archivoCsv"]["name"];
		$rutaArchivoTmp = $_FILES["archivoCsv"]["tmp_name"];
		if (is_file($rutaArchivoTmp)) {
			if (!copy($rutaArchivoTmp, TMPPATH . $nombreArchivo)) {
				$copio = false;
				echo "Fallo al copiat el archivo: $rutaArchivoTmp...\n";
			}
		}
	}
	
	$row = 1;
	$copio = true;
	$delimitador = ";";
	$valorComisionFun = "";		// Tendra el valor de comision del funcionario
	$arregloReem = array();
	$arregloReem[] = "COMISION";
	$arregloReem[] = "FECHA_SALIDA";
	$arregloReem[] = "FECHA_REGRESO";
	$arregloReem[] = "NOMBRES";
	$arregloReem[] = "APELLIDO1";
	$arregloReem[] = "APELLIDO2";
	$arregloReem[] = "DOC_IDENTIDAD";
	$arregloReem[] = "CONTRATO";
	$arregloReem[] = "EXPEDIENTE";
	$arregloReem[] = "OBJ_COMISION";
	$arregloReem[] = "DESTINO";
	$arregloReem[] = "ENTIDAD_DESTINO";
	$arregloReem[] = "PROYECTO";
	$arregloReem[] = "PROCESO";
	$arregloReem[] = "EVENTO";
	$arregloReem[] = "OTRO_ORG";
	$arregloReem[] = "RUBRO_PRES";
	$arregloReem[] = "HORA_SALIDA";
	$arregloReem[] = "HORA_REGRESO";
	$arregloReem[] = "VALOR_A";
	$arregloReem[] = "RUTA_T";
	$arregloReem[] = "VALOR_T";
	$arregloReem[] = "RUTA_M";
	$arregloReem[] = "VALOR_M";
	$arregloReem[] = "CAMPO_VACIO";
	$arregloReem[] = "ID_COMISION";
	$arregloReem[] = "ZONA";
	$arregloInv = array_flip($arregloReem);
	$num = count($arregloReem);
	$cont = 0;
	$estilos = array();
	$estilos[] = "listado1";
	$estilos[] = "listado2";
	$estadoComision = array();
	$estadoComision["solicitud"] = "S";
	$estadoComision["liquidacion"] = "L";
	$estadoComision["anulacion"] = "A";
	$zona["D"] = "D";
	$zona["F"] = "F";
	//$idVigencia = 2006;
	// Captura de la ultima vigencia 
	$sqlVig = "SELECT idvigencia FROM vigencia ORDER BY idvigencia DESC LIMIT 1";
	$rs = $conn->Execute($sqlVig);
	
	if (!$rs->EOF) {
		$idVigencia = $rs->fields["idvigencia"];
	} else {
		$echo = "Error no existe vigencia activa en el sistema";
		exit();
	}
	
	$nombreArchivoPath = TMPPATH . $nombreArchivo;
	if (!is_file($nombreArchivoPath)) {
		echo "Error al subir el archivo";
		exit();
	}
	$arregloComisiones = array();
	$handle = fopen($nombreArchivoPath, "r");
	while (($data = fgetcsv($handle, 1000, $delimitador)) !== FALSE) {
		if ($cont) {
			$arregloComisiones[] = $data;
			$tpl->parse("row");
		} else {
			$titulo = $data;
		}
		$cont++;
	}
	$comisionesIns[] = $titulo;
	$numElement = count($titulo);
	$filaAct = "";
	$filaAnt = 0;
	$cont = 0;
	if(is_array($arregloComisiones) && $idVigencia != "N") {
		foreach ($arregloComisiones as $comision) {
			$filaAct = $comision[0];
			$cedulaempleado = $comision[$arregloInv["DOC_IDENTIDAD"]];
			$zonaResultado = $zona[$comision[$arregloInv["ZONA"]]];
			$idcomision = $comision[$arregloInv["ID_COMISION"]];
			if (!empty($cedulaempleado) && !empty($zonaResultado) && !empty($idcomision)) {
				$sqlVerifi = "SELECT tipovincentidad FROM empleado WHERE cedulaempleado = $cedulaempleado";
				$rs = $conn->Execute($sqlVerifi);
				if (!$rs->EOF) {
					$tipoVinc = $rs->fields["tipovincentidad"];
				}
				
				if (empty($tipoVinc)) {
					echo "Error";
					exit();
				}
				
				if ($tipoVinc == 'F') {
					$sqlComUp = "SELECT rem.remdesde,
								rem.remhasta,
								zon.nombre,
								zon.valor
							FROM vigencia vig,
								remuneracion rem,
								zona zon
							WHERE vig.idvigencia = 2006 AND
								vig.idvigencia = rem.idvigencia AND
								rem.idremuneracion = zon.idremuneracion AND
								rem.remdesde <= (SELECT salariobase
										FROM empleado
										WHERE cedulaempleado = $cedulaempleado) AND
								rem.remhasta >= (SELECT salariobase
										FROM empleado
										WHERE cedulaempleado = $cedulaempleado) AND
								zon.nombre = '$zonaResultado'";
				} else {
					$sqlComUp = " SELECT rem.remdesde,
								rem.remhasta,
								zon.nombre,
								zon.valor
							FROM vigencia vig,
								remuneracion rem,
								zona zon
							WHERE vig.idvigencia = 2006 AND
								vig.idvigencia = rem.idvigencia AND
								rem.idremuneracion = zon.idremuneracion AND
								rem.remdesde <= (SELECT hovi.valorhonorario
											FROM empleado emp,
												honorario hon,
												honorariovigencia hovi,
												vigencia vig
											WHERE 	emp.cedulaempleado = $cedulaempleado AND
												emp.idhonorario = hon.idhonorario AND
												hon.idhonorario = hovi.idhonorario AND
												vig.idvigencia = hovi.idvigencia AND
												vig.idvigencia = $idVigencia) AND
								rem.remhasta >= (SELECT hovi.valorhonorario
											FROM empleado emp,
												honorario hon,
												honorariovigencia hovi,
												vigencia vig
											WHERE   emp.cedulaempleado = $cedulaempleado AND
												emp.idhonorario = hon.idhonorario AND
												hon.idhonorario = hovi.idhonorario AND
												vig.idvigencia = hovi.idvigencia AND
												vig.idvigencia = $idVigencia) AND
								zon.nombre = '$zonaResultado'";
				}

				$rs = $conn->Execute($sqlComUp);
				
				if(!$rs->EOF) {
					$valorComisionFun = $rs->fields["valor"];
				}
				
				if(!empty($valorComisionFun)) {
					$valorRutaT = (!empty($comision[$arregloInv["VALOR_T"]])) ? 
								$comision[$arregloInv["VALOR_T"]] : 0;
					$valorRutaM = (!empty($comision[$arregloInv["VALOR_M"]])) ?
								$comision[$arregloInv["VALOR_M"]] : 0;
					$idComision = $comision[$arregloInv["ID_COMISION"]];
					
					// Sentencia para asignar el numero de dias que se queda el funcionario
					$sqlDias = "SELECT diasliquidar 
							FROM comisionempleado 
							WHERE cedulaempleado = $cedulaempleado AND
								idcomision =  $idComision";
					$rs = $conn->Execute($sqlDias);
					
					if(!$rs->EOF) {
						$nDias = $rs->fields["diasliquidar"];
					}
					
					// Calculo del valor total de la comision
					$valorTotalComision = (int) $valorComisionFun * $nDias;
					
					$fieldvalues["idcomision"] 	= $idComision;
					$fieldvalues["cedulaempleado"] 	= $comision[$arregloInv["DOC_IDENTIDAD"]];
					$fieldvalues["valorcomision"]	= $valorTotalComision;
					
					// Valor del tiquete aereo
					if (!empty($comision[$arregloInv["VALOR_A"]])){
						$valorTiquete = $comision[$arregloInv["VALOR_A"]];
					}
					
					// Nombre de la ruta terrestre
					if (!empty($comision[$arregloInv["RUTA_T"]])) {
						$fieldvalues["rutaterreste"] = $comision[$arregloInv["RUTA_T"]];
					}
					
					// Valor de la ruta terrestre
					if (!empty($comision[$arregloInv["VALOR_T"]])) {
						$fieldvalues["valorrutaterres"] = $comision[$arregloInv["VALOR_T"]];
					}
					
					// Nombre de la ruta maritima
					if (!empty($comision[$arregloInv["RUTA_M"]])) {
						$fieldvalues["rutamaritima"] = $comision[$arregloInv["RUTA_M"]];
					}
					
					// asignando valor de la ruta maritima
					if (!empty($comision[$arregloInv["VALOR_M"]])) {
						$fieldvalues["valorrutamari"] = $comision[$arregloInv["VALOR_M"]];
					}
					
					if (!empty($comision[$arregloInv["OTROS_GASTOS"]])) {
						$fieldvalues["otrosgastos"] = $comision[$arregloInv["OTROS_GASTOS"]];
					}
					
					$fieldvalues["estadocomision"] 	= $estadoComision["liquidacion"];
					$fieldvalues["valordiariocom"] 	= $valorComisionFun;
					$fieldvalues["zona"]		= $zona[$comision[$arregloInv["ZONA"]]] ;
					$whereCom = "cedulaempleado = $cedulaempleado AND idcomision =  $idComision";
					$insComision = $conn->AutoExecute("comisionempleado",$fieldvalues,'UPDATE',$whereCom);
				} else {
					$msgError = "Este funcionario no se le puede calcular el valor de la comision";
				}
			}
		}
	}
	/*$filename = "file.csv";
	$fp = fopen("./tmp/$filename", 'w');
	
	foreach ($comisionesIns as $comisionGrabar) {
		fputcsv($fp,$comisionGrabar);
	}
	
	$generoCsv = fclose($fp);*/
	$tituloPagina = "Resultado de la liquidaci&oacute;n";
	$tpl->setVariable("TITULO_PAGINA",$tituloPagina);
	$tpl->setVariable("IDVIGENCIA",$idVigencia);
	$tpl->setVariable("ARCHIVO_CSV",$nombreArchivo);
	$tpl->setVariable("ARCHIVO_EXEC",$archivoExec);
	$tpl->show();
	
	/*include (SRCPATH . "br3.6.0/webServices/radicacionWs/radicarSugerencia.php");
	
	if(!empty($noRad)) {
		$file = SRCPATH . "comisiones/tmp/$filename";
		$newfile = SRCPATH . "br3.6.0/bodega/" . 
				substr($noRad, 0, 4) . "/" . 
				substr($noRad, 4, 3) . "/" . 
				$noRad . ".csv";
		if (!copy($file, $newfile)) {
			echo "error al copiar el archivo $newfile";
		}
	}*/
	//echo "Final Ejecucion...";
	//include("./webServices/cliente.php");
?>
